<html><head>
<link href="style.css" rel="stylesheet" type="text/css"/>
<title>Thrift module: NoteStore</title></head><body>
<h1>Thrift module: NoteStore</h1>
<table><tr><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></tr>
<tr>
<td>NoteStore</td><td><a href="NoteStore.html#Svc_NoteStore">NoteStore</a><br/>
<ul>
<li><a href="NoteStore.html#Fn_NoteStore_copyNote">copyNote</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createLinkedNotebook">createLinkedNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createNote">createNote</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createNotebook">createNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createSearch">createSearch</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createSharedNotebook">createSharedNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_createTag">createTag</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeInactiveNotes">expungeInactiveNotes</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeLinkedNotebook">expungeLinkedNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeNote">expungeNote</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeNotebook">expungeNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeNotes">expungeNotes</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeSearch">expungeSearch</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeSharedNotebooks">expungeSharedNotebooks</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_expungeTag">expungeTag</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_findNoteCounts">findNoteCounts</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_findNotes">findNotes</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getAccountSize">getAccountSize</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getAds">getAds</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getDefaultNotebook">getDefaultNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getNote">getNote</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getNoteContent">getNoteContent</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getNoteTagNames">getNoteTagNames</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getNotebook">getNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getPublicNotebook">getPublicNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getRandomAd">getRandomAd</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getResource">getResource</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getResourceAttributes">getResourceAttributes</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getResourceByHash">getResourceByHash</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getResourceData">getResourceData</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getResourceRecognition">getResourceRecognition</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getSearch">getSearch</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getSyncChunk">getSyncChunk</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getSyncState">getSyncState</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_getTag">getTag</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listLinkedNotebooks">listLinkedNotebooks</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listNotebooks">listNotebooks</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listSearches">listSearches</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listSharedNotebooks">listSharedNotebooks</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listTags">listTags</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_listTagsByNotebook">listTagsByNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_untagAll">untagAll</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateLinkedNotebook">updateLinkedNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateNote">updateNote</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateNotebook">updateNotebook</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateResource">updateResource</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateSearch">updateSearch</a></li>
<li><a href="NoteStore.html#Fn_NoteStore_updateTag">updateTag</a></li>
</ul>
</td>
<td><a href="NoteStore.html#Struct_AdImpressions">AdImpressions</a><br/>
<a href="NoteStore.html#Struct_AdParameters">AdParameters</a><br/>
<a href="NoteStore.html#Struct_NoteCollectionCounts">NoteCollectionCounts</a><br/>
<a href="NoteStore.html#Struct_NoteFilter">NoteFilter</a><br/>
<a href="NoteStore.html#Struct_NoteList">NoteList</a><br/>
<a href="NoteStore.html#Struct_SyncChunk">SyncChunk</a><br/>
<a href="NoteStore.html#Struct_SyncState">SyncState</a><br/>
</td>
<td><code></code></td>
</tr></table>
<hr/><h2 id="Structs">Data structures</h2>
<div class="definition"><h3 id="Struct_SyncState">Struct: SyncState</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>currentTime</td><td><code><a href="Types.html#Typedef_Timestamp">Types.Timestamp</a></code></td><td>yes</td><td></td></tr>
<tr><td>fullSyncBefore</td><td><code><a href="Types.html#Typedef_Timestamp">Types.Timestamp</a></code></td><td>yes</td><td></td></tr>
<tr><td>updateCount</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>uploaded</td><td><code>i64</code></td><td>no</td><td></td></tr>
</table><br/> This structure encapsulates the information about the state of the
 user's account for the purpose of "state based" synchronization.
<dl>
 <dt>currentTime</dt>
   <dd>
   The server's current date and time.
   </dd>
<p/>
 <dt>fullSyncBefore</dt>
   <dd>
   The cutoff date and time for client caches to be
   updated via incremental synchronization.  Any clients that were last
   synched with the server before this date/time must do a full resync of all
   objects.  This cutoff point will change over time as archival data is
   deleted or special circumstances on the service require resynchronization.
   </dd>
<p/>
 <dt>updateCount</dt>
   <dd>
   Indicates the total number of transactions that have
   been committed within the account.  This reflects (for example) the
   number of discrete additions or modifications that have been made to
   the data in this account (tags, notes, resources, etc.).
   This number is the "high water mark" for Update Serial Numbers (USN)
   within the account.
   </dd>
<p/>
 <dt>uploaded</dt>
   <dd>
   The total number of bytes that have been uploaded to
   this account in the current monthly period.  This can be compared against
   Accounting.uploadLimit (from the UserStore) to determine how close the user
   is to their monthly upload limit.
   </dd>
 </dl>
<br/></div><div class="definition"><h3 id="Struct_SyncChunk">Struct: SyncChunk</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>currentTime</td><td><code><a href="Types.html#Typedef_Timestamp">Types.Timestamp</a></code></td><td>yes</td><td></td></tr>
<tr><td>chunkHighUSN</td><td><code>i32</code></td><td>no</td><td></td></tr>
<tr><td>updateCount</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>notes</td><td><code>list&lt;<code><a href="Types.html#Struct_Note">Types.Note</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>notebooks</td><td><code>list&lt;<code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>tags</td><td><code>list&lt;<code><a href="Types.html#Struct_Tag">Types.Tag</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>searches</td><td><code>list&lt;<code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>resources</td><td><code>list&lt;<code><a href="Types.html#Struct_Resource">Types.Resource</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>expungedNotes</td><td><code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>expungedNotebooks</td><td><code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>expungedTags</td><td><code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>expungedSearches</td><td><code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code></td><td>no</td><td></td></tr>
</table><br/> This structure is given out by the NoteStore when a client asks to
 receive the current state of an account.  The client asks for the server's
 state one chunk at a time in order to allow clients to retrieve the state
 of a large account without needing to transfer the entire account in
 a single message.
<p/>
 The server always gives SyncChunks using an ascending series of Update
 Serial Numbers (USNs).
<p/>
<dl>
 <dt>currentTime</dt>
   <dd>
   The server's current date and time.
   </dd>
<p/>
 <dt>chunkHighUSN</dt>
   <dd>
   The highest USN for any of the data objects represented
   in this sync chunk.  If there are no objects in the chunk, this will not be
   set.
   </dd>
<p/>
 <dt>updateCount</dt>
   <dd>
   The total number of updates that have been performed in
   the service for this account.  This is equal to the highest USN within the
   account at the point that this SyncChunk was generated.  If updateCount
   and chunkHighUSN are identical, that means that this is the last chunk
   in the account ... there is no more recent information.
   </dd>
<p/>
 <dt>notes</dt>
   <dd>
   If present, this is a list of non-expunged notes that
   have a USN in this chunk.  This will include notes that are "deleted"
   but not expunged (i.e. in the trash).  The notes will include their list
   of tags and resources, but the resource content and recognition data
   will not be supplied.
   </dd>
<p/>
 <dt>notebooks</dt>
   <dd>
   If present, this is a list of non-expunged notebooks that
   have a USN in this chunk.  This will include notebooks that are "deleted"
   but not expunged (i.e. in the trash).
   </dd>
<p/>
 <dt>tags</dt>
   <dd>
   If present, this is a list of the non-expunged tags that have a
   USN in this chunk.
   </dd>
<p/>
 <dt>searches</dt>
   <dd>
   If present, this is a list of non-expunged searches that
   have a USN in this chunk.
   </dd>
<p/>
 <dt>resources</dt>
   <dd>
   If present, this is a list of the non-expunged resources
   that have a USN in this chunk.  This will include the metadata for each
   resource, but not its binary contents or recognition data, which must be
   retrieved separately.
   </dd>
<p/>
 <dt>expungedNotes</dt>
   <dd>
   If present, the GUIDs of all of the notes that were
   permanently expunged in this chunk.
   </dd>
<p/>
 <dt>expungedNotebooks</dt>
   <dd>
   If present, the GUIDs of all of the notebooks that
   were permanently expunged in this chunk.  When a notebook is expunged,
   this implies that all of its child notes (and their resources) were
   also expunged.
   </dd>
<p/>
 <dt>expungedTags</dt>
   <dd>
   If present, the GUIDs of all of the tags that were
   permanently expunged in this chunk.
   </dd>
<p/>
 <dt>expungedSearches</dt>
   <dd>
   If present, the GUIDs of all of the saved searches
   that were permanently expunged in this chunk.
   </dd>
 </dl>
<br/></div><div class="definition"><h3 id="Struct_NoteFilter">Struct: NoteFilter</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>order</td><td><code><a href="Types.html#Enum_NoteSortOrder">Types.NoteSortOrder</a></code></td><td>yes</td><td></td></tr>
<tr><td>ascending</td><td><code>bool</code></td><td>yes</td><td></td></tr>
<tr><td>words</td><td><code>string</code></td><td>no</td><td></td></tr>
<tr><td>notebookGuid</td><td><code><a href="Types.html#Typedef_Guid">Types.Guid</a></code></td><td>no</td><td></td></tr>
<tr><td>tagGuids</td><td><code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>timeZone</td><td><code>string</code></td><td>no</td><td></td></tr>
<tr><td>inactive</td><td><code>bool</code></td><td>no</td><td></td></tr>
</table><br/> A list of criteria that are used to indicate which notes are desired from
 the account.  This is used in queries to the NoteStore to determine
 which notes should be retrieved.
<p/>
<dl>
 <dt>order</dt>
   <dd>
   The NoteSortOrder value indicating what criterion should be
   used to sort the results of the filter.
   </dd>
<p/>
 <dt>ascending</dt>
   <dd>
   If true, the results will be ascending in the requested
   sort order.  If false, the results will be descending.
   </dd>
<p/>
 <dt>words</dt>
   <dd>
   The string query containing keywords to match, if present.
   </dd>
<p/>
 <dt>notebookGuid</dt>
   <dd>
   If present, the Guid of the notebook that must contain
   the notes.
   </dd>
<p/>
 <dt>tagGuids</dt>
   <dd>
   If present, the list of tags (by GUID) that must be present
   on the notes.
   </dd>
<p/>
 <dt>timeZone</dt>
   <dd>
   The zone ID for the user, which will be used to interpret
   any dates or times in the queries that do not include their desired zone
   information.
   For example, if a query requests notes created "yesterday", this
   will be evaluated from the provided time zone, if provided.
   The format must be encoded as a standard zone ID such as
   "America/Los_Angeles".
   </dd>
<p/>
 <dt>inactive</dt>
   <dd>
   If true, then only notes that are not active (i.e. notes in
   the Trash) will be returned. Otherwise, only active notes will be returned.
   There is no way to find both active and inactive notes in a single query.
   </dd>
 </dl>
<br/></div><div class="definition"><h3 id="Struct_NoteList">Struct: NoteList</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>startIndex</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>totalNotes</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>notes</td><td><code>list&lt;<code><a href="Types.html#Struct_Note">Types.Note</a></code>&gt;</code></td><td>yes</td><td></td></tr>
<tr><td>stoppedWords</td><td><code>list&lt;<code>string</code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>searchedWords</td><td><code>list&lt;<code>string</code>&gt;</code></td><td>no</td><td></td></tr>
</table><br/> A small structure for returning a list of notes out of a larger set.
<p/>
<dl>
 <dt>startIndex</dt>
   <dd>
   The starting index within the overall set of notes.  This
   is also the number of notes that are "before" this list in the set.
   </dd>
<p/>
 <dt>totalNotes</dt>
   <dd>
   The number of notes in the larger set.  This can be used
   to calculate how many notes are "after" this note in the set.
   (I.e.  remaining = totalNotes - (startIndex + notes.length)  )
   </dd>
<p/>
 <dt>notes</dt>
   <dd>
   The list of notes from this range.  The Notes will include all
   metadata (attributes, resources, etc.), but will not include the ENML
   content of the note or the binary contents of any resources.
   </dd>
<p/>
 <dt>stoppedWords</dt>
   <dd>
   If the NoteList was produced using a text based search
   query that included words that are not indexed or searched by the service,
   this will include a list of those ignored words.
   </dd>
<p/>
 <dt>searchedWords</dt>
   <dd>
   If the NoteList was produced using a text based search
   query that included viable search words or quoted expressions, this will
   include a list of those words.  Any stopped words will not be included
   in this list.
   </dd>
 </dl>
<br/></div><div class="definition"><h3 id="Struct_NoteCollectionCounts">Struct: NoteCollectionCounts</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>notebookCounts</td><td><code>map&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>, <code>i32</code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>tagCounts</td><td><code>map&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>, <code>i32</code>&gt;</code></td><td>no</td><td></td></tr>
</table><br/> A data structure representing the number of notes for each notebook
 and tag with a non-zero set of applicable notes.
<p/>
<dl>
 <dt>notebookCounts</dt>
   <dd>
   A mapping from the Notebook GUID to the number of
   notes (from some selection) that are in the corresponding notebook.
   </dd>
<p/>
 <dt>tagCounts</dt>
   <dd>
   A mapping from the Tag GUID to the number of notes (from some
   selection) that have the corresponding tag.
   </dd>
 </dl>
<br/></div><div class="definition"><h3 id="Struct_AdImpressions">Struct: AdImpressions</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>adId</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>impressionCount</td><td><code>i32</code></td><td>yes</td><td></td></tr>
<tr><td>impressionTime</td><td><code>i32</code></td><td>yes</td><td></td></tr>
</table><br/>Information for tracking the display of a particular ad by a client.
<p/>
<dl>
 <dt>adId</dt>
   <dd>
     The identifier for this ad, from a previous Ad.id given to the client
   </dd>
<p/>
 <dt>impressionCount</dt>
   <dd>
     The number of times this ad was displayed since the last successful
     ad retrieval.  The client should only report times the ad was selected
     when the client was visible.
   </dd>
<p/>
 <dt>impressionTime</dt>
   <dd>
     The number of seconds that the client displayed the advertisement since
     the last successful ad retrieval.  This corresponds to the seconds that
     the client application was visible.
   </dd>
</dl>
<br/></div><div class="definition"><h3 id="Struct_AdParameters">Struct: AdParameters</h3>
<table><tr><th>Field</th><th>Type</th><th>Required</th><th>Default value</th></tr>
<tr><td>clientLanguage</td><td><code>string</code></td><td>no</td><td></td></tr>
<tr><td>impressions</td><td><code>list&lt;<code><a href="NoteStore.html#Struct_AdImpressions">AdImpressions</a></code>&gt;</code></td><td>no</td><td></td></tr>
<tr><td>supportHtml</td><td><code>bool</code></td><td>no</td><td></td></tr>
</table><br/>Parameters that will be given by a client to the service when it requests
a set of advertisements to display.  If any of these values are omitted,
the service will use default values.
<p/>
<dl>
 <dt>clientLanguage</dt>
   <dd>
     The ISO 639-1 language code for the primary language for the client.
     If omitted, English will be assumed ('en').
   </dd>
<p/>
 <dt>impressions</dt>
   <dd>
     A list of the impression counts and total display time for the ads
     that were displayed in the last day.
   </dd>
<p/>
 <dt>supportHtml</dt>
   <dd>
     If true, the client requesting the ads supports ads specified via
     general HTML (with rich media, Javascript, etc.).
   </dd>
</dl>
<br/></div><hr/><h2 id="Services">Services</h2>
<h3 id="Svc_NoteStore">Service: NoteStore</h3>
Service:  NoteStore
<p>
The NoteStore service is used by EDAM clients to exchange information
about the collection of notes in an account.  This is primarily used for
synchronization, but could also be used by a "thin" client without a full
local cache.
</p><p>
All functions take an "authenticationToken" parameter, which is the
value returned by the UserStore which permits access to the account.
This parameter is mandatory for all functions.
</p>
<p/>
Calls which require an authenticationToken may throw an EDAMUserException
for the following reasons:
 <ul>
  <li> AUTH_EXPIRED "authenticationToken" - token has expired
  </li>
  <li> BAD_DATA_FORMAT "authenticationToken" - token is malformed
  </li>
  <li> DATA_REQUIRED "authenticationToken" - token is empty
  </li>
  <li> INVALID_AUTH "authenticationToken" - token signature is invalid
  </li>
</ul>
<br/><div class="definition"><h4 id="Fn_NoteStore_getSyncState">Function: NoteStore.getSyncState</h4>
<pre><code><a href="NoteStore.html#Struct_SyncState">SyncState</a></code> getSyncState(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Asks the NoteStore to provide information about the status of the user
account corresponding to the provided authentication token.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getSyncChunk">Function: NoteStore.getSyncChunk</h4>
<pre><code><a href="NoteStore.html#Struct_SyncChunk">SyncChunk</a></code> getSyncChunk(<code>string</code> authenticationToken,
                       <code>i32</code> afterUSN,
                       <code>i32</code> maxEntries)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Asks the NoteStore to provide the state of the account in order of
last modification.  This request retrieves one block of the server's
state so that a client can make several small requests against a large
account rather than getting the entire state in one big message.
<p/>
@param afterUSN
  The client can pass this value to ask only for objects that
  have been updated after a certain point.  This allows the client to
  receive updates after its last checkpoint rather than doing a full
  synchronization on every pass.  The default value of "0" indicates
  that the client wants to get objects from the start of the account.
<p/>
@param maxEntries
  The maximum number of modified objects that should be
  returned in the result SyncChunk.  This can be used to limit the size
  of each individual message to be friendly for network transfer.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "afterUSN" - if negative
  </li>
  <li> BAD_DATA_FORMAT "maxEntries" - if less than 1
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listNotebooks">Function: NoteStore.listNotebooks</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code>&gt;</code> listNotebooks(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns a list of all of the notebooks in the account.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getNotebook">Function: NoteStore.getNotebook</h4>
<pre><code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> getNotebook(<code>string</code> authenticationToken,
                           <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of the notebook with the provided GUID.
The notebook may be active or deleted (but not expunged).
<p/>
@param guid
  The GUID of the notebook to be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Notebook.guid" - tag not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getDefaultNotebook">Function: NoteStore.getDefaultNotebook</h4>
<pre><code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> getDefaultNotebook(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns the notebook that should be used to store new notes in the
user's account when no other notebooks are specified.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createNotebook">Function: NoteStore.createNotebook</h4>
<pre><code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> createNotebook(<code>string</code> authenticationToken,
                              <code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> notebook)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Asks the service to make a notebook with the provided name.
<p/>
@param notebook
  The desired fields for the notebook must be provided on this
  object.  The name of the notebook must be set, and either the 'active'
  or 'defaultNotebook' fields may be set by the client at creation.
  If a notebook exists in the account with the same name (via
  case-insensitive compare), this will throw an EDAMUserException.
<p/>
@return
  The newly created Notebook.  The server-side GUID will be
  saved in this object's 'guid' field.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
  </li>
  <li> BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
  </li>
  <li> DATA_CONFLICT "Notebook.name" - name already in use
  </li>
  <li> DATA_CONFLICT "Publishing.uri" - if URI already in use
  </li>
  <li> DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
  </li>
  <li> LIMIT_REACHED "Notebook" - at max number of notebooks
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateNotebook">Function: NoteStore.updateNotebook</h4>
<pre><code>i32</code> updateNotebook(<code>string</code> authenticationToken,
                   <code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> notebook)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Submits notebook changes to the service.  The provided data must include
the notebook's guid field for identification.
<p/>
@param notebook
  The notebook object containing the requested changes.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Notebook.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Publishing.uri" - if publishing set but bad uri
  </li>
  <li> BAD_DATA_FORMAT "Publishing.publicDescription" - if too long
  </li>
  <li> DATA_CONFLICT "Notebook.name" - name already in use
  </li>
  <li> DATA_CONFLICT "Publishing.uri" - if URI already in use
  </li>
  <li> DATA_REQUIRED "Publishing.uri" - if publishing set but uri missing
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Notebook.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeNotebook">Function: NoteStore.expungeNotebook</h4>
<pre><code>i32</code> expungeNotebook(<code>string</code> authenticationToken,
                    <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Permanently removes the notebook, and all of its content notes,
from the service.  After this action, the notebook is no longer
available for undeletion, etc.
<p/>
@param guid
  The GUID of the notebook to delete.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Notebook.guid" - if the parameter is missing
  </li>
  <li> LIMIT_REACHED "Notebook" - trying to expunge the last Notebook
  </li>
  <li> PERMISSION_DENIED "Notebook" - private notebook, user doesn't own
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listTags">Function: NoteStore.listTags</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_Tag">Types.Tag</a></code>&gt;</code> listTags(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns a list of the tags in the account.  Evernote does not support
the undeletion of tags, so this will only include active tags.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listTagsByNotebook">Function: NoteStore.listTagsByNotebook</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_Tag">Types.Tag</a></code>&gt;</code> listTagsByNotebook(<code>string</code> authenticationToken,
                                   <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> notebookGuid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns a list of the tags that are applied to at least one note within
the provided notebook.  If the notebook is public, the authenticationToken
may be ignored.
<p/>
@param notebookGuid
   the GUID of the notebook to use to find tags
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Notebook.guid" - notebook not found by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getTag">Function: NoteStore.getTag</h4>
<pre><code><a href="Types.html#Struct_Tag">Types.Tag</a></code> getTag(<code>string</code> authenticationToken,
                 <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of the Tag with the provided GUID.
<p/>
@param guid
  The GUID of the tag to be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Tag.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Tag" - private Tag, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Tag.guid" - tag not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createTag">Function: NoteStore.createTag</h4>
<pre><code><a href="Types.html#Struct_Tag">Types.Tag</a></code> createTag(<code>string</code> authenticationToken,
                    <code><a href="Types.html#Struct_Tag">Types.Tag</a></code> tag)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Asks the service to make a tag with a set of information.
<p/>
@param tag
  The desired list of fields for the tag are specified in this
  object.  The caller must specify the tag name, and may provide
  the parentGUID.
<p/>
@return
  The newly created Tag.  The server-side GUID will be
  saved in this object.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
  </li>
  <li> DATA_CONFLICT "Tag.name" - name already in use
  </li>
  <li> LIMIT_REACHED "Tag" - at max number of tags
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Tag.parentGuid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateTag">Function: NoteStore.updateTag</h4>
<pre><code>i32</code> updateTag(<code>string</code> authenticationToken,
              <code><a href="Types.html#Struct_Tag">Types.Tag</a></code> tag)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Submits tag changes to the service.  The provided data must include
the tag's guid field for identification.  The service will apply
updates to the following tag fields:  name, parentGuid
<p/>
@param tag
  The tag object containing the requested changes.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Tag.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Tag.parentGuid" - malformed GUID
  </li>
  <li> DATA_CONFLICT "Tag.name" - name already in use
  </li>
  <li> DATA_CONFLICT "Tag.parentGuid" - can't set parent: circular
  </li>
  <li> PERMISSION_DENIED "Tag" - user doesn't own tag
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Tag.guid" - tag not found, by GUID
  </li>
  <li> "Tag.parentGuid" - parent not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_untagAll">Function: NoteStore.untagAll</h4>
<pre><code>void</code> untagAll(<code>string</code> authenticationToken,
              <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Removes the provided tag from every note that is currently tagged with
this tag.  If this operation is successful, the tag will still be in
the account, but it will not be tagged on any notes.
<p/>
This function is not indended for use by full synchronizing clients, since
it does not provide enough result information to the client to reconcile
the local state without performing a follow-up sync from the service.  This
is intended for "thin clients" that need to efficiently support this as
a UI operation.
<p/>
@param guid
  The GUID of the tag to remove from all notes.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
  </li>
  <li> PERMISSION_DENIED "Tag" - user doesn't own tag
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Tag.guid" - tag not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeTag">Function: NoteStore.expungeTag</h4>
<pre><code>i32</code> expungeTag(<code>string</code> authenticationToken,
               <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Permanently deletes the tag with the provided GUID, if present.
<p/>
@param guid
  The GUID of the tag to delete.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Tag.guid" - if the guid parameter is missing
  </li>
  <li> PERMISSION_DENIED "Tag" - user doesn't own tag
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Tag.guid" - tag not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listSearches">Function: NoteStore.listSearches</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code>&gt;</code> listSearches(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns a list of the searches in the account.  Evernote does not support
the undeletion of searches, so this will only include active searches.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getSearch">Function: NoteStore.getSearch</h4>
<pre><code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code> getSearch(<code>string</code> authenticationToken,
                            <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of the search with the provided GUID.
<p/>
@param guid
  The GUID of the search to be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "SavedSearch.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "SavedSearch" - private Tag, user doesn't own
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createSearch">Function: NoteStore.createSearch</h4>
<pre><code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code> createSearch(<code>string</code> authenticationToken,
                               <code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code> search)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Asks the service to make a saved search with a set of information.
<p/>
@param search
  The desired list of fields for the search are specified in this
  object.  The caller must specify the
  name, query, and format of the search.
<p/>
@return
  The newly created SavedSearch.  The server-side GUID will be
  saved in this object.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "SavedSearch.query" - invalid length
  </li>
  <li> BAD_DATA_FORMAT "SavedSearch.format" - not a valid QueryFormat value
  </li>
  <li> DATA_CONFLICT "SavedSearch.name" - name already in use
  </li>
  <li> LIMIT_REACHED "SavedSearch" - at max number of searches
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateSearch">Function: NoteStore.updateSearch</h4>
<pre><code>i32</code> updateSearch(<code>string</code> authenticationToken,
                 <code><a href="Types.html#Struct_SavedSearch">Types.SavedSearch</a></code> search)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Submits search changes to the service.  The provided data must include
the search's guid field for identification.  The service will apply
updates to the following search fields:  name, query, and format
<p/>
@param search
  The search object containing the requested changes.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "SavedSearch.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "SavedSearch.query" - invalid length
  </li>
  <li> BAD_DATA_FORMAT "SavedSearch.format" - not a valid QueryFormat value
  </li>
  <li> DATA_CONFLICT "SavedSearch.name" - name already in use
  </li>
  <li> PERMISSION_DENIED "SavedSearch" - user doesn't own tag
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "SavedSearch.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeSearch">Function: NoteStore.expungeSearch</h4>
<pre><code>i32</code> expungeSearch(<code>string</code> authenticationToken,
                  <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Permanently deletes the search with the provided GUID, if present.
<p/>
@param guid
  The GUID of the search to delete.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "SavedSearch.guid" - if the guid parameter is empty
  </li>
  <li> PERMISSION_DENIED "SavedSearch" - user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "SavedSearch.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_findNotes">Function: NoteStore.findNotes</h4>
<pre><code><a href="NoteStore.html#Struct_NoteList">NoteList</a></code> findNotes(<code>string</code> authenticationToken,
                   <code><a href="NoteStore.html#Struct_NoteFilter">NoteFilter</a></code> filter,
                   <code>i32</code> offset,
                   <code>i32</code> maxNotes)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Used to find a set of the notes from a user's account based on various
criteria specified via a NoteFilter object.
The Notes (and any embedded Resources) will have empty Data bodies for
contents, resource data, and resource recognition fields.  These values
must be retrieved individually.
<p/>
@param authenticationToken
  Must be a valid token for the user's account unless the NoteFilter
  'notebookGuid' is the GUID of a public notebook.
<p/>
@param filter
  The list of criteria that will constrain the notes to be returned.
<p/>
@param offset
  The numeric index of the first note to show within the sorted
  results.  The numbering scheme starts with "0".  This can be used for
  pagination.
<p/>
@param maxNotes
  The most notes to return in this query.  The service will
  either return this many notes or the end of the notebook, whichever is
  shorter.
<p/>
@return
  The list of notes that match the criteria.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "offset" - not between 0 and EDAM_USER_NOTES_MAX
  </li>
  <li> BAD_DATA_FORMAT "maxNotes" - not between 0 and EDAM_USER_NOTES_MAX
  </li>
  <li> BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  </li>
  <li> BAD_DATA_FORMAT "NoteFilter.tagGuids" - if any are malformed
  </li>
  <li> BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_findNoteCounts">Function: NoteStore.findNoteCounts</h4>
<pre><code><a href="NoteStore.html#Struct_NoteCollectionCounts">NoteCollectionCounts</a></code> findNoteCounts(<code>string</code> authenticationToken,
                                    <code><a href="NoteStore.html#Struct_NoteFilter">NoteFilter</a></code> filter)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>This function is used to determine how many notes are found for each
notebook and tag in the user's account, given a current set of filter
parameters that determine the current selection.  This function will
return a structure that gives the note count for each notebook and tag
that has at least one note under the requested filter.  Any notebook or
tag that has zero notes in the filtered set will not be listed in the
reply to this function (so they can be assumed to be 0).
<p/>
@param authenticationToken
  Must be a valid token for the user's account unless the NoteFilter
  'notebookGuid' is the GUID of a public notebook.
<p/>
@param filter
  The note selection filter that is currently being applied.  The note
  counts are to be calculated with this filter applied to the total set
  of notes in the user's account.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "NoteFilter.notebookGuid" - if malformed
  </li>
  <li> BAD_DATA_FORMAT "NoteFilter.notebookGuids" - if any are malformed
  </li>
  <li> BAD_DATA_FORMAT "NoteFilter.words" - if search string too long
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getNote">Function: NoteStore.getNote</h4>
<pre><code><a href="Types.html#Struct_Note">Types.Note</a></code> getNote(<code>string</code> authenticationToken,
                   <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid,
                   <code>bool</code> withContent)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of the note in the service with the provided
GUID.  The ENML contents of the note will only be provided if the
'withContent' parameter is true.  The service will include the meta-data
for each resource in the note, but the binary contents of the resources
and their recognition data will be omitted.
If the Note is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the note to be retrieved.
<p/>
@param withContent
  If true, the note will include the ENML contents of its
  'content' field.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Note" - private note, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getNoteContent">Function: NoteStore.getNoteContent</h4>
<pre><code>string</code> getNoteContent(<code>string</code> authenticationToken,
                      <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns XHTML contents of the note with the provided GUID.
If the Note is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the note to be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Note" - private note, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getNoteTagNames">Function: NoteStore.getNoteTagNames</h4>
<pre><code>list&lt;<code>string</code>&gt;</code> getNoteTagNames(<code>string</code> authenticationToken,
                             <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns a list of the names of the tags for the note with the provided
guid.  This can be used with authentication to get the tags for a
user's own note, or can be used without valid authentication to retrieve
the names of the tags for a note in a public notebook.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Note.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Note" - private note, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createNote">Function: NoteStore.createNote</h4>
<pre><code><a href="Types.html#Struct_Note">Types.Note</a></code> createNote(<code>string</code> authenticationToken,
                      <code><a href="Types.html#Struct_Note">Types.Note</a></code> note)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Asks the service to make a note with the provided set of information.
<p/>
@param note
  A Note object containing the desired fields to be populated on
  the service.
<p/>
@return
  The newly created Note from the service.  The server-side
  GUIDs for the Note and any Resources will be saved in this object.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Note.title" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Note.content" - invalid length for ENML content
  </li>
  <li> BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  </li>
  <li> BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
  </li>
  <li> BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  </li>
  <li> DATA_CONFLICT "Note.deleted" - deleted time set on active note
  </li>
  <li> DATA_REQUIRED "Resource.data" - resource data body missing
  </li>
  <li> ENML_VALIDATION "*" - note content doesn't validate against DTD
  </li>
  <li> LIMIT_REACHED "Note" - at max number per account
  </li>
  <li> LIMIT_REACHED "Note.size" - total note size too large
  </li>
  <li> LIMIT_REACHED "Note.resources" - too many resources on Note
  </li>
  <li> LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
  </li>
  <li> LIMIT_REACHED "Resource.data.size" - resource too large
  </li>
  <li> LIMIT_REACHED "NoteAttribute.*" - attribute string too long
  </li>
  <li> LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  </li>
  <li> PERMISSION_DENIED "Note.notebookGuid" - NB not owned by user
  </li>
  <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.notebookGuid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateNote">Function: NoteStore.updateNote</h4>
<pre><code><a href="Types.html#Struct_Note">Types.Note</a></code> updateNote(<code>string</code> authenticationToken,
                      <code><a href="Types.html#Struct_Note">Types.Note</a></code> note)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Submit a set of changes to a note to the service.  The provided data
must include the note's guid field for identification.
<p/>
@param note
  A Note object containing the desired fields to be populated on
  the service.  The service will attempt to update the note with the
  following fields from the client:
  <ul>
     <li>title
     </li>
     <li>content:  optional.  must be provided if the content has changed.
     </li>
     <li>contentLength:  required.
     </li>
     <li>contentHash:  required.
     </li>
     <li>updated:  optional.  server will assign if missing.
     </li>
     <li>deleted:  optional.  if present, the note starts as deleted.
     </li>
     <li>notebookGuid:  optional.  if present, the note may be moved
     </li>
     <li>isActive:  required.
     </li>
     <li>tagGuids:  optional.  if present, the set of tags will be replaced.
     </li>
     <li>resources:  optional.  if present, the set of resources on the
          service will be replaced with the provided set.  Any new
          resources must include a data body.  If the service sees a
          resource with the same GUID as an existing resource on the
          existing note, the existing resource will be mainted, but any
          properties and attributes will be updated.
          If the list does not include a resource on the service (i.e. if
          there is no resource with that GUID in the client's list), that
          resource will be removed from the service.
     </li>
     <li>attributes:  optional.  if present, the set of attributes will
          be replaced.
     </li>
  </ul>
<p/>
@return
  The metadata (no contents) for the Note on the server after the update
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Note.title" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "Note.content" - invalid length for ENML body
  </li>
  <li> BAD_DATA_FORMAT "NoteAttributes.*" - bad resource string
  </li>
  <li> BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  </li>
  <li> BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  </li>
  <li> DATA_CONFLICT "Note.deleted" - deleted time set on active note
  </li>
  <li> DATA_REQUIRED "Resource.data" - resource data body missing
  </li>
  <li> ENML_VALIDATION "*" - note content doesn't validate against DTD
  </li>
  <li> LIMIT_REACHED "Note.tagGuids" - too many Tags on Note
  </li>
  <li> LIMIT_REACHED "Note.resources" - too many resources on Note
  </li>
  <li> LIMIT_REACHED "Note.size" - total note size too large
  </li>
  <li> LIMIT_REACHED "Resource.data.size" - resource too large
  </li>
  <li> LIMIT_REACHED "NoteAttribute.*" - attribute string too long
  </li>
  <li> LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  </li>
  <li> PERMISSION_DENIED "Note" - user doesn't own
  </li>
  <li> PERMISSION_DENIED "Note.notebookGuid" - user doesn't own destination
  </li>
  <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - note not found, by GUID
  </li>
  <li> "Note.notebookGuid" - if notebookGuid provided, but not found
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeNote">Function: NoteStore.expungeNote</h4>
<pre><code>i32</code> expungeNote(<code>string</code> authenticationToken,
                <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Permanently removes the Note, and all of its Resources,
from the service.
<p/>
@param guid
  The GUID of the note to delete.
<p/>
@return
  The Update Serial Number for this change within the account.
<p/>
@throws EDAMUserException <ul>
  <li> PERMISSION_DENIED "Note" - user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeNotes">Function: NoteStore.expungeNotes</h4>
<pre><code>i32</code> expungeNotes(<code>string</code> authenticationToken,
                 <code>list&lt;<code><a href="Types.html#Typedef_Guid">Types.Guid</a></code>&gt;</code> noteGuids)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Permanently removes a list of Notes, and all of their Resources, from
the service.  This should be invoked with a small number of Note GUIDs
(e.g. 100 or less) on each call.  To expunge a larger number of notes,
call this method multiple times.  This should also be used to reduce the
number of Notes in a notebook before calling expungeNotebook() or
in the trash before calling expungeInactiveNotes(), since these calls may
be prohibitively slow if there are more than a few hundred notes.
If an exception is thrown for any of the GUIDs, then none of the notes
will be deleted.  I.e. this call can be treated as an atomic transaction.
<p/>
@param noteGuids
  The list of GUIDs for the Notes to remove.
<p/>
@return
  The account's updateCount at the end of this operation
<p/>
@throws EDAMUserException <ul>
  <li> PERMISSION_DENIED "Note" - user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Note.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeInactiveNotes">Function: NoteStore.expungeInactiveNotes</h4>
<pre><code>i32</code> expungeInactiveNotes(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Permanently removes all of the Notes that are currently marked as
inactive.  This is equivalent to "emptying the trash", and these Notes
will be gone permanently.
<p/>
This operation may be relatively slow if the account contains a large
number of inactive Notes.
<p/>
@return
   The number of notes that were expunged.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_copyNote">Function: NoteStore.copyNote</h4>
<pre><code><a href="Types.html#Struct_Note">Types.Note</a></code> copyNote(<code>string</code> authenticationToken,
                    <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> noteGuid,
                    <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> toNotebookGuid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Performs a deep copy of the Note with the provied GUID 'noteGuid' into
the Notebook with the provided GUID 'toNotebookGuid'.
The caller must be the owner of both the Note and the Notebook.
This creates a new Note in the destination Notebook with new content and
Resources that match all of the content and Resources from the original
Note, but with new GUID identifiers.
The original Note is not modified by this operation.
The copied note is considered as an "upload" for the purpose of upload
transfer limit calculation, so its size is added to the upload count for
the owner.
<p/>
@param noteGuid
  The GUID of the Note to copy.
<p/>
@param toNotebookGuid
  The GUID of the Notebook that should receive the new Note.
<p/>
@return
  The metadata for the new Note that was created.  This will include the
  new GUID for this Note (and any copied Resources), but will not include
  the content body or the binary bodies of any Resources.
<p/>
@throws EDAMUserException <ul>
  <li> LIMIT_REACHED "Note" - at max number per account
  </li>
  <li> PERMISSION_DENIED "Notebook.guid" - destination not owned by user
  </li>
  <li> PERMISSION_DENIED "Note" - user doesn't own
  </li>
  <li> QUOTA_REACHED "Accounting.uploadLimit" - note exceeds upload quota
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Notebook.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getResource">Function: NoteStore.getResource</h4>
<pre><code><a href="Types.html#Struct_Resource">Types.Resource</a></code> getResource(<code>string</code> authenticationToken,
                           <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid,
                           <code>bool</code> withData,
                           <code>bool</code> withRecognition,
                           <code>bool</code> withAttributes)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of the resource in the service with the
provided GUID.
If the Resource is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the resource to be retrieved.
<p/>
@param withData
  If true, the Resource will include the binary contents of the
  'data' field's body.
<p/>
@param withRecognition
  If true, the Resource will include the binary contents of the
  'recognition' field's body.
<p/>
@param withAttributes
  If true, the Resource will include the attributes
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateResource">Function: NoteStore.updateResource</h4>
<pre><code>i32</code> updateResource(<code>string</code> authenticationToken,
                   <code><a href="Types.html#Struct_Resource">Types.Resource</a></code> resource)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Submit a set of changes to a resource to the service.  This can be used
to update the meta-data about the resource, but cannot be used to change
the binary contents of the resource (including the length and hash).  These
cannot be changed directly without creating a new resource and removing the
old one via updateNote.
<p/>
@param resource
  A Resource object containing the desired fields to be populated on
  the service.  The service will attempt to update the resource with the
  following fields from the client:
  <ul>
     <li>guid:  must be provided to identify the resource
     </li>
     <li>mime
     </li>
     <li>width
     </li>
     <li>height
     </li>
     <li>duration
     </li>
     <li>recognition:  if this is provided, it must include the
         data body for the resource recognition index data and the
         recoFormat must be provided.  If absent,
         the recognition on the server won't be changed.
     </li>
     <li>attributes:  optional.  if present, the set of attributes will
          be replaced.
     </li>
  </ul>
<p/>
@return
  The Update Sequence Number of the resource after the changes have been
  applied.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  </li>
  <li> BAD_DATA_FORMAT "Resource.mime" - invalid resource MIME type
  </li>
  <li> BAD_DATA_FORMAT "ResourceAttributes.*" - bad resource string
  </li>
  <li> DATA_REQUIRED "Resource.data" - resource data body missing
  </li>
  <li> LIMIT_REACHED "ResourceAttribute.*" - attribute string too long
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getResourceData">Function: NoteStore.getResourceData</h4>
<pre><code>string</code> getResourceData(<code>string</code> authenticationToken,
                       <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns binary data of the resource with the provided GUID.  For
example, if this were an image resource, this would contain the
raw bits of the image.
If the Resource is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the resource to be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getResourceByHash">Function: NoteStore.getResourceByHash</h4>
<pre><code><a href="Types.html#Struct_Resource">Types.Resource</a></code> getResourceByHash(<code>string</code> authenticationToken,
                                 <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> noteGuid,
                                 <code>string</code> contentHash,
                                 <code>bool</code> withData,
                                 <code>bool</code> withRecognition)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the current state of a resource, referenced by containing
note GUID and resource content hash.
<p/>
@param noteGuid
  The GUID of the note that holds the resource to be retrieved.
<p/>
@param contentHash
  The MD5 checksum of the resource within that note.
<p/>
@param withData
  If true, the Resource will include the binary contents of the
  'data' field's body.
<p/>
@param withRecognition
  If true, the Resource will include the binary contents of the
  'recognition' field's body.
  
@throws EDAMUserException <ul>
  <li> DATA_REQUIRED "Note.guid" - noteGuid param missing
  </li>
  <li> DATA_REQUIRED "Note.contentHash" - contentHash param missing
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource" - not found, by hash
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getResourceRecognition">Function: NoteStore.getResourceRecognition</h4>
<pre><code>string</code> getResourceRecognition(<code>string</code> authenticationToken,
                              <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the binary contents of the recognition index for the resource
with the provided GUID.  If the caller asks about a resource that has
no recognition data, this will throw EDAMUserException.
If the Resource is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the resource whose recognition data should be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource.guid" - not found, by GUID
  </li>
  <li> "Resource.recognition" - resource has no recognition
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getResourceAttributes">Function: NoteStore.getResourceAttributes</h4>
<pre><code><a href="Types.html#Struct_ResourceAttributes">Types.ResourceAttributes</a></code> getResourceAttributes(<code>string</code> authenticationToken,
                                               <code><a href="Types.html#Typedef_Guid">Types.Guid</a></code> guid)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Returns the set of attributes for the Resource with the provided GUID.
If the Resource is found in a public notebook, the authenticationToken
will be ignored (so it could be an empty string).
<p/>
@param guid
  The GUID of the resource whose attributes should be retrieved.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "Resource.guid" - if the parameter is missing
  </li>
  <li> PERMISSION_DENIED "Resource" - private resource, user doesn't own
  </li>
</ul>
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Resource.guid" - not found, by GUID
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getAccountSize">Function: NoteStore.getAccountSize</h4>
<pre><code>i64</code> getAccountSize(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns the total size of the notes in the user's account.  This is the
sum of the number of characters of ENML in the user's notes plus the
total number of bytes in the user's resources.  This does not include the
various metadata overhead.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getAds">Function: NoteStore.getAds</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_Ad">Types.Ad</a></code>&gt;</code> getAds(<code>string</code> authenticationToken,
                      <code><a href="NoteStore.html#Struct_AdParameters">AdParameters</a></code> adParameters)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Clients should make this call once per day to receive a bundle of ads that
will be displayed for the subsequent 24 hour period.
<p/>
@param adParameters
  A set of parameters that help the service determine which ads to return.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getRandomAd">Function: NoteStore.getRandomAd</h4>
<pre><code><a href="Types.html#Struct_Ad">Types.Ad</a></code> getRandomAd(<code>string</code> authenticationToken,
                     <code><a href="NoteStore.html#Struct_AdParameters">AdParameters</a></code> adParameters)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>A thin client should make this call to retrieve a single random ad for
immediate display.
<p/>
@param adParameters
  A set of parameters to help the service determine which ad to return.
  The 'impression' field should either be absent (if no ads have been
  displayed previously), or else it should contain the identifier for
  the most recently-displayed ad so that the service can give a different
  ad.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_getPublicNotebook">Function: NoteStore.getPublicNotebook</h4>
<pre><code><a href="Types.html#Struct_Notebook">Types.Notebook</a></code> getPublicNotebook(<code><a href="Types.html#Typedef_UserID">Types.UserID</a></code> userId,
                                 <code>string</code> publicUri)
    throws <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>
</pre>Looks for a user account with the provided userId on this NoteStore
shard and determines whether that account contains a public notebook
with the given URI.  If the account is not found, or no public notebook
exists with this URI, this will throw an EDAMNotFoundException,
otherwise this will return the information for that Notebook.
<p/>
@throws EDAMNotFoundException <ul>
  <li> "Publishing.uri" - not found, by URI
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createSharedNotebook">Function: NoteStore.createSharedNotebook</h4>
<pre><code><a href="Types.html#Struct_SharedNotebook">Types.SharedNotebook</a></code> createSharedNotebook(<code>string</code> authenticationToken,
                                          <code><a href="Types.html#Struct_SharedNotebook">Types.SharedNotebook</a></code> sharedNotebook)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Used to construct a shared notebook object. The constructed notebook will
contain a "share key" which serve as a unique identifer and access token
for a user to access the notebook of the shared notebook owner.
<p/>
@param sharedNotebook
  An shared notebook object populated with the email address of the share
  recipient, the notebook guid and the access permissions. All other
  attributes of the shared object are ignored.
@return
  The fully populated SharedNotebook object including the server assigned
  share id and shareKey which can both the used to uniquely identify the
  SharedNotebook.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "SharedNotebook.email" - if the  email was not valid
  </li>
  </ul>
@throws EDAMNotFoundException <ul>
  <li> Notebook.guid - if the notebookGuid is not a valid guid for the user
  </li>
  </ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listSharedNotebooks">Function: NoteStore.listSharedNotebooks</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_SharedNotebook">Types.SharedNotebook</a></code>&gt;</code> listSharedNotebooks(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Lists the collection of shared notebooks for all notebooks in the
users account.
<p/>
@return
 The list of all SharedNotebooks for the user
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeSharedNotebooks">Function: NoteStore.expungeSharedNotebooks</h4>
<pre><code>i32</code> expungeSharedNotebooks(<code>string</code> authenticationToken,
                           <code>list&lt;<code>i64</code>&gt;</code> sharedNotebookIds)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Expunges the SharedNotebooks in the user's account using the
SharedNotebook.id as the identifier.
@param
  sharedNotebookIds - a list of ShardNotebook.id longs identifying the
      objects to delete permanently.
@return
  The account's update sequence number.
<br/></div><div class="definition"><h4 id="Fn_NoteStore_createLinkedNotebook">Function: NoteStore.createLinkedNotebook</h4>
<pre><code><a href="Types.html#Struct_LinkedNotebook">Types.LinkedNotebook</a></code> createLinkedNotebook(<code>string</code> authenticationToken,
                                          <code><a href="Types.html#Struct_LinkedNotebook">Types.LinkedNotebook</a></code> linkedNotebook)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Asks the service to make a linked notebook with the provided name, username
of the owner and identifiers provided. A linked notebook can be either a
link to a public notebook or to a private shared notebook.
<p/>
@param linkedNotebook
  The desired fields for the linked notebook must be provided on this
  object.  The name of the linked notebook must be set. Either a username
  uri or a shard id and share key must be provided otherwise a
  EDAMUserException is thrown.
<p/>
@return
  The newly created LinkedNotebook.  The server-side id will be
  saved in this object's 'id' field.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern
  </li>
  <li> BAD_DATA_FORMAT "LinkedNotebook.username" - bad username format
  </li>
  <li> BAD_DATA_FORMAT "LinkedNotebook.uri" -
    if public notebook set but bad uri
  </li>
  <li> BAD_DATA_FORMAT "LinkedNotebook.shareKey" - if private notebook set but bad shareKey
  </li>
  <li> DATA_REQUIRED "LinkedNotebook.shardId" - if private notebook but shard id not provided
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_updateLinkedNotebook">Function: NoteStore.updateLinkedNotebook</h4>
<pre><code><a href="Types.html#Struct_LinkedNotebook">Types.LinkedNotebook</a></code> updateLinkedNotebook(<code>string</code> authenticationToken,
                                          <code><a href="Types.html#Struct_LinkedNotebook">Types.LinkedNotebook</a></code> linkedNotebook)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>@param linkedNotebook
  Updates the name of a linked notebook.
<p/>
@throws EDAMUserException <ul>
  <li> BAD_DATA_FORMAT "LinkedNotebook.name" - invalid length or pattern
  </li>
</ul>
<br/></div><div class="definition"><h4 id="Fn_NoteStore_listLinkedNotebooks">Function: NoteStore.listLinkedNotebooks</h4>
<pre><code>list&lt;<code><a href="Types.html#Struct_LinkedNotebook">Types.LinkedNotebook</a></code>&gt;</code> listLinkedNotebooks(<code>string</code> authenticationToken)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Returns a list of linked notebooks
<br/></div><div class="definition"><h4 id="Fn_NoteStore_expungeLinkedNotebook">Function: NoteStore.expungeLinkedNotebook</h4>
<pre><code>i32</code> expungeLinkedNotebook(<code>string</code> authenticationToken,
                          <code>i64</code> linkedNotebookId)
    throws <code><a href="Errors.html#Struct_EDAMUserException">Errors.EDAMUserException</a></code>, <code><a href="Errors.html#Struct_EDAMNotFoundException">Errors.EDAMNotFoundException</a></code>, <code><a href="Errors.html#Struct_EDAMSystemException">Errors.EDAMSystemException</a></code>
</pre>Permanently expunges the linked notebook from the account.
<p/>
@param linkedNotebookId
  The LinkedNotebook.id field of the LinkedNotebook to permanently remove
  from the account.
<br/></div></body></html>
